Linear Search in Python? [closed]
        Posted  
        
            by 
                POTUS
            
        on Programmers
        
        See other posts from Programmers
        
            or by POTUS
        
        
        
        Published on 2012-08-30T03:30:24Z
        Indexed on 
            2012/08/30
            3:48 UTC
        
        
        Read the original article
        Hit count: 394
        
python
def find_interval(mesh,x): '''This function finds the interval containing x according to the following rules, mesh is an ordered list with n numbers return 0 if x < mesh[0] return n if mesh[n-1] < x return k if mesh[k-1] <= x < mesh[k] return n-1 if mesh[n-2] <= x <= mesh[n-1]
This function does a Linear search.
08/29/2012
'''
for n in range(len(mesh)):
      for k in range(len(mesh)):
    if     x == mesh[n]:
             print "Found x at index:"
                     return n
            elif   x<mesh[n]:
                     return 0
            elif   mesh[n-1]<x:
                     return n  
            elif   mesh[n-2]<=x<=mesh[n-1]:
                     return n-1  
            elif   mesh[k-1]<=x<mesh[k]:
                     return k
mesh = [0, 0.1, 0.25, 0.5, 0.6, 0.75, 0.9, 1] print mesh print find_interval(mesh, -1)
print find_interval(mesh, 0)
print find_interval(mesh, 0.1)
print find_interval(mesh, 0.8)
print find_interval(mesh, 0.9)
print find_interval(mesh, 1)
print find_interval(mesh, 1.01)
Output: [0, 0.100000000000000, 0.250000000000000, 0.500000000000000, 0.600000000000000, 0.750000000000000, 0.900000000000000, 1] 0 Found x at index: 0 2 6 -1 -1 0
I don't think the output is correct. Can anyone help me fix it? Thanks.
© Programmers or respective owner